@贝壳儿
4年前 提问
1个回答

docker 怎么使用

Anna艳娜
4年前

使用国内阿里云仓库
cr.console.aliyun.com
登录后在左下角找到镜像加速器,复制属于你自己的加速器地址例如:xxxxx.aliyuncs.com
然后在docker服务器修改/etc/docker/daemon.json
在{}里加入
“registry-mirrors”:[“https://xxxxxxxx.aliyuncs.com"]

docker search centos——搜索镜像
docker pull docker.io/centos——拉(下载)镜像
docker images——查看本地镜像

systemctl daemon-reload
systemctl restart docker

启动镜像为容器
docker run -itd –name test1 镜像名称/镜像ID /bin/bash
查看容器
docker ps(查看已经运行的容器) -a(查看所有容器包括未启动的)
关闭容器/启动容器
docker stop/start 容器名字/容器ID
进入容器
docker exec -it 容器ID /bin/bash
开启容器切开放端口
docker run -itd –name nginx1 -p 真机端口:容器端口 镜像ID
docker run -itd –name nginx1 -p 801:80 镜像ID
真机直接访问http://127.0.0.1:801就能看到nginx的测试页面了
进入nginx容器,修改一下首页内容
/usr/share/nginx/html/index.html

与容器之间复制目录或文件
docker cp /root/index.html 063f:/usr/share/nginx/html/index.html
docker cp 本地路径 容器ID:容器路径

docker cp 容器ID:容器路径 本地路径

启动容器时候,进行目录映射
docker run -itd –name nginx2 -p 802:80 -v /nginx-web/:/usr/share/nginx/html 9bee

创建自己的离线镜像
1.找到基本镜像,开启为容器
2.对容器内容进行修改,例如安装软件,修改配置,开启服务等
3.将这个容器从新变为镜像
docker commit 容器ID 镜像新名字:新tag标识
4.将这个镜像导出为tar包
docker save -o 镜像保存位置和.tar文件名 镜像名称:tag标识
使用自检离线tar包回镜像
docker load -i 镜像包的位置
检查导入镜像
docker images

docker rmi——删除镜像
docker rm——删除容器

docker-群集swarm
1.配置IP地址,关闭selinx和防护墙,确保连通性
2.设置ntp服务器同步时间戳
在node1上编辑/etc/ntp.conf
加入内容
server 127.127.1.0
fudge 127.127.1.0 stratum 8
——————————————
客户机同步时间
ntpdate 192.168.3.1
——————————————
3.在各个节点上修改主机名和hosts文件
vim /etc/hosts
192.168.3.1 node1
192.168.3.2 node2
192.168.3.3 node3
——————————————
临时改名
hostname node1
永久改名(需要重启系统)
修改/etc/sysconfig/network
加入HOSTNAME=node1
——————————————
节点2和节点3也做同样配置
——————————————
ping node1
ping node2
ping node3
都可以ping通即可
——————————————
4.设置node1可以密钥访问node2和node3
node1上创建密钥兑
ssh-keygen回车回车回车
——————————————
将公钥传送到各节点
ssh-copy-id -i /root/.ssh/id_rsa.pub root@node1
ssh-copy-id -i /root/.ssh/id_rsa.pub root@node2
ssh-copy-id -i /root/.ssh/id_rsa.pub root@node3
——————————————
node1可以免密码sshnode2和node3即可
ssh root@node2
ssh root @node3
ssh root@node3
5.开始创建swarm群集领导者和节点
docker swarm init –advertise-addr 192.168.3.1
————————————————————————
执行命令后会生成三行信息:
docker swarm join
–token SWMTKN-1-3a4n4g9pekj0gz2p7wyoqc0jrcmeeks1bauxmx7emm3jl23fa4-buwmh6bc1f9c4u7aqjmprnas1
192.168.3.1:2377
————————————————————————
在node2和node2上复制三行信息,并且执行,加入群集
————————————————————————
查看群集节点
docker node ls
————————————————————————
6.创建私有仓库
首先开启各个节点的转发功能并且关闭mtu
在node1上修改/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
执行调用
sysctl -p
————————————————————————
使用scp命令将sysctl.conf传送到node2和node3
scp /etc/sysctl.conf node2:/etc/
scp /etc/sysctl.conf node3:/etc/
————————————————————————
在node2和node3上执行命令刷新
sysctl -p
————————————————————————
拉取镜像registry:2或者使用tar包读取
docker load -i /root/registry2.tar
查看镜像导入正确
docker images
————————————————————————
创建私有库存放目录
mkdir -p /opt/data/registry
开启私有库镜像到容器
docker run -it